import Vue from 'vue'
import VueRouter from 'vue-router'
import HomeView from '@/pages/HomeView.vue'
import Login from '@/pages/Login.vue'
import ContentView from '@/pages/ContentView.vue'
import ContentViewTitle from '@/pages/ContentViewTitle.vue'
import ContentMapTitle from '@/pages/ContentMapTitle.vue'
import ContentViewTitleNoArchived from '@/pages/ContentViewTitleNoArchived.vue'
import ContentCard from '@/pages/ContentCard.vue'
import ContentCardFour from '@/pages/ContentCardFour.vue'
import ContentMap from '@/pages/ContentMap.vue'
import ContentArticle from '@/pages/ContentArticle.vue'
import ContentDate from '@/pages/ContentDate.vue'
import ContentSearch from '@/pages/ContentSearch.vue'
import AppSearch from '@/pages/AppSearch.vue'
import DynamicState from '@/pages/DynamicState.vue'
import PersonalCenter from '@/pages/personal/PersonalCenter.vue'
import AccountSettings from '@/pages/personal/AccountSettings.vue'
import SetGeneral from '@/pages/personal/set/SetGeneral.vue'
import AccountBind from '@/pages/personal/set/general/AccountBind.vue'
import SetMessages from '@/pages/personal/set/SetMessages.vue'
import SetNotifications from '@/pages/personal/set/SetNotifications.vue'
import SetPassword from '@/pages/personal/set/SetPassword.vue'
import OtherUser from '@/pages/OtherUser.vue'
import Eorror from '@/pages/404.vue'






const originalPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(location) {
    return originalPush.call(this, location).catch(err => err)
}

Vue.use(VueRouter)

const routes = [
    {
        path: '/',
        name: 'home',
        component: HomeView,
        meta: {
            title: '萌绘 | 漫画教程 萌图线稿'
        }
    },
    {
        path: '/login',
        name: 'login',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: Login,
        meta: {
            title: '登录 | 萌绘'
        }
    },
    {
        path: '/category/webread',
        name: 'webread',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentView,
        meta: {
            title: '在线教程 | 萌绘'
        }
    }, ,
    {
        path: '/category/webread/page/:page',
        name: 'webread-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentView,
        meta: {
            title: '在线教程 | 萌绘'
        }
    },
    {
        path: '/category/webread/comice',
        name: 'comice',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '漫画教程 | 萌绘'
        }
    },
    {
        path: '/category/webread/comice/page/:page',
        name: 'comice-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '漫画教程 | 萌绘'
        }
    },
    {
        path: '/category/webread/comice/manhuarumen',
        name: 'manhuarumen',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '漫画入门 | 萌绘'
        }
    },
    {
        path: '/category/webread/comice/manhuarumen/page/:page',
        name: 'manhuarumen-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '漫画入门 | 萌绘'
        }
    },
    {
        path: '/category/webread/comice/qbanmanhua',
        name: 'qbanmanhua',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: 'Q版漫画 | 萌绘'
        }
    },
    {
        path: '/category/webread/comice/qbanmanhua/page/:page',
        name: 'qbanmanhua-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: 'Q版漫画 | 萌绘'
        }
    },
    {
        path: '/category/webread/comice/gufengmanhua',
        name: 'gufengmanhua',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '古风漫画 | 萌绘'
        }
    },
    {
        path: '/category/webread/comice/gufengmanhua/page/:page',
        name: 'gufengmanhua-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '古风漫画 | 萌绘'
        }
    },
    {
        path: '/category/webread/comice/meishaonv',
        name: 'meishaonv',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '美少女漫画 | 萌绘'
        }
    },
    {
        path: '/category/webread/comice/meishaonv/page/:page',
        name: 'meishaonv-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '美少女漫画 | 萌绘'
        }
    },
    {
        path: '/category/webread/comice/meishaonian',
        name: 'meishaonian',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '美少年漫画 | 萌绘'
        }
    },
    {
        path: '/category/webread/comice/meishaonian/page/:page',
        name: 'meishaonian-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '美少年漫画 | 萌绘'
        }
    },
    {
        path: '/category/webread/comice/comicup',
        name: 'comicup',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '漫画综合技巧 | 萌绘'
        }
    },
    {
        path: '/category/webread/comice/comicup/page/:page',
        name: 'comicup-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '漫画综合技巧 | 萌绘'
        }
    },
    {
        path: '/category/webread/comice/manhuavideo',
        name: 'manhuavideo',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '漫画视频教程 | 萌绘'
        }
    },
    {
        path: '/category/webread/comice/manhuavideo/page/:page',
        name: 'manhuavideo-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '漫画视频教程 | 萌绘'
        }
    },
    {
        path: '/category/webread/colorpencil',
        name: 'colorpencil',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '彩铅教程 | 萌绘'
        }
    },
    {
        path: '/category/webread/colorpencil/page/:page',
        name: 'colorpencil-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '彩铅教程 | 萌绘'
        }
    },
    {
        path: '/category/webread/colorpencil/tongyongcaiqian',
        name: 'tongyongcaiqian',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '通用色铅笔教程 | 萌绘'
        }
    },
    {
        path: '/category/webread/colorpencil/tongyongcaiqian/page/:page',
        name: 'tongyongcaiqian-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '通用色铅笔教程 | 萌绘'
        }
    },
    {
        path: '/category/webread/colorpencil/shuirongcaiqian',
        name: 'shuirongcaiqian',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '水溶色铅笔教程 | 萌绘'
        }
    },
    {
        path: '/category/webread/colorpencil/shuirongcaiqian/page/:page',
        name: 'shuirongcaiqian-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '水溶色铅笔教程 | 萌绘'
        }
    },
    {
        path: '/category/webread/colorpencil/caiqianvideo',
        name: 'caiqianvideo',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '色铅笔视频教程 | 萌绘'
        }
    },
    {
        path: '/category/webread/colorpencil/caiqianvideo/page/:page',
        name: 'caiqianvideo-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '色铅笔视频教程 | 萌绘'
        }
    },
    {
        path: '/category/webread/pssai',
        name: 'pssai',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '板绘教程 | 萌绘'
        }
    },
    {
        path: '/category/webread/pssai/page/:page',
        name: 'pssai-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '板绘教程 | 萌绘'
        }
    },
    {
        path: '/category/webread/pssai/sai',
        name: 'sai',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: 'SAI专区 | 萌绘'
        }
    },
    {
        path: '/category/webread/pssai/sai/page/:page',
        name: 'sai-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: 'SAI专区 | 萌绘'
        }
    },
    {
        path: '/category/webread/pssai/ps',
        name: 'ps',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: 'PS专区 | 萌绘'
        }
    },
    {
        path: '/category/webread/pssai/ps/page/:page',
        name: 'ps-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: 'PS专区 | 萌绘'
        }
    },
    {
        path: '/category/webread/pssai/miscellaneous',
        name: 'miscellaneous',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '综合类 | 萌绘'
        }
    },
    {
        path: '/category/webread/pssai/miscellaneous/page/:page',
        name: 'miscellaneous-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '综合类 | 萌绘'
        }
    },
    {
        path: '/category/webread/special',
        name: 'special',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '聚合专题 | 萌绘'
        }
    },
    {
        path: '/category/webread/special/page/:page',
        name: 'special-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '聚合专题 | 萌绘'
        }
    },
    {
        path: '/category/webread/special/course-special',
        name: 'coursespecial',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '教程聚合 | 萌绘'
        }
    },
    {
        path: '/category/webread/special/course-special/page/:page',
        name: 'coursespecial-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '教程聚合 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip',
        name: 'moehuivip',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentMapTitle,
        meta: {
            title: '会员资源 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/page/:page',
        name: 'moehuivip-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentMapTitle,
        meta: {
            title: '会员资源 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/colordesigns',
        name: 'colordesigns',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '色见本 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/colordesigns/page/:page',
        name: 'colordesigns-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '色见本 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/sketchartbook',
        name: 'sketchartbook',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '线稿设定集 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/sketchartbook/page/:page',
        name: 'sketchartbook-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '线稿设定集 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/painterpack',
        name: 'painterpack',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitleNoArchived,
        meta: {
            title: '画师图包 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/painterpack/page/:page',
        name: 'painterpack-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitleNoArchived,
        meta: {
            title: '画师图包 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/acgpack',
        name: 'acgpack',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentCard,
        meta: {
            title: 'ACG角色图包 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/acgpack/page/:page',
        name: 'acgpack-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentCard,
        meta: {
            title: 'ACG角色图包 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown',
        name: 'coursedown',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentCard,
        meta: {
            title: '教程系列 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/page/:page',
        name: 'coursedown-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentCard,
        meta: {
            title: '教程系列 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/packagedown',
        name: 'packagedown',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentView,
        meta: {
            title: '整套教程下载 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/packagedown/page/:page',
        name: 'packagedown-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentView,
        meta: {
            title: '整套教程下载 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/mangadown',
        name: 'mangadown',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '漫画教程下载 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/mangadown/page/:page',
        name: 'mangadown-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '漫画教程下载 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/rawcourse',
        name: 'rawcourse',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '原版教程下载 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/rawcourse/page/:page',
        name: 'rawcourse-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '原版教程下载 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/mangadown/saizhuanti',
        name: 'saizhuanti',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentView,
        meta: {
            title: 'SAI专题 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/mangadown/saizhuanti/page/:page',
        name: 'saizhuanti-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentView,
        meta: {
            title: 'SAI专题 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/mangadown/gufengcomic',
        name: 'gufengcomic',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentView,
        meta: {
            title: '古风漫画教程 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/mangadown/gufengcomic/page/:page',
        name: 'gufengcomic-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentView,
        meta: {
            title: '古风漫画教程 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/mangadown/fantasycomic',
        name: 'fantasycomic',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '奇幻漫画教程 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/mangadown/fantasycomic/page/:page',
        name: 'fantasycomic-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '奇幻漫画教程 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/watercolordown',
        name: 'watercolordown',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '水彩画教程下载 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/watercolordown/page/:page',
        name: 'watercolordown-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '水彩画教程下载 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/colorpencildown',
        name: 'colorpencildown',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '色铅笔教程下载 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/colorpencildown/page/:page',
        name: 'colorpencildown-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '色铅笔教程下载 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/markerdown',
        name: 'markerdown',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '马克笔教程下载 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/markerdown/page/:page',
        name: 'markerdown-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '马克笔教程下载 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/techoudown',
        name: 'techoudown',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '手帐简笔画教程 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/techoudown/page/:page',
        name: 'techoudown-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '手帐简笔画教程 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/drawingdown',
        name: 'drawingdown',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '经典绘画教程下载 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/drawingdown/page/:page',
        name: 'drawingdown-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '经典绘画教程下载 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/animedown',
        name: 'animedown',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '动画类教程 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/animedown/page/:page',
        name: 'animedown-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '动画类教程 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/mangavideodown',
        name: 'mangavideodown',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '视频教程下载 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/coursedown/mangavideodown/page/:page',
        name: 'mangavideodown-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '视频教程下载 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/psdraw',
        name: 'psdraw',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: 'PSD源文件 | 萌绘'
        }
    },
    {
        path: '/category/moehuivip/psdraw/page/:page',
        name: 'psdraw-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: 'PSD源文件 | 萌绘'
        }
    },
    {
        path: '/category/sourcespack',
        name: 'sourcespack',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '图例素材 | 萌绘'
        }
    },
    {
        path: '/category/sourcespack/page/:page',
        name: 'sourcespack-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '图例素材 | 萌绘'
        }
    },
    {
        path: '/category/cg-sketch',
        name: 'cgsketch',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '萌绘图库 | 萌绘'
        }
    },
    {
        path: '/category/cg-sketch/page/:page',
        name: 'cgsketch-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '萌绘图库 | 萌绘'
        }
    },
    {
        path: '/category/cg-sketch/moeimo',
        name: 'moeimo',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentCardFour,
        meta: {
            title: '同人&小画集 | 萌绘'
        }
    },
    {
        path: '/category/cg-sketch/moeimo/page/:page',
        name: 'moeimo-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentCardFour,
        meta: {
            title: '同人&小画集 | 萌绘'
        }
    },
    {
        path: '/category/cg-sketch/artwork',
        name: 'artwork',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentView,
        meta: {
            title: '大型画集 | 萌绘'
        }
    },
    {
        path: '/category/cg-sketch/artwork/page/:page',
        name: 'artwork-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentView,
        meta: {
            title: '大型画集 | 萌绘'
        }
    },
    {
        path: '/category/cg-sketch/gundamartbook',
        name: 'gundamartbook',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentMap,
        meta: {
            title: '机甲类画集 | 萌绘'
        }
    },
    {
        path: '/category/cg-sketch/gundamartbook/page/:page',
        name: 'gundamartbook-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentMap,
        meta: {
            title: '机甲类画集 | 萌绘'
        }
    },
    {
        path: '/category/cg-sketch/otomeartbook',
        name: 'otomeartbook',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentView,
        meta: {
            title: '乙女向画集 | 萌绘'
        }
    },
    {
        path: '/category/cg-sketch/otomeartbook/page/:page',
        name: 'otomeartbook-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentView,
        meta: {
            title: '乙女向画集 | 萌绘'
        }
    },
    {
        path: '/category/cg-sketch/westernartbook',
        name: 'westernartbook',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentView,
        meta: {
            title: '欧美向画集 | 萌绘'
        }
    },
    {
        path: '/category/cg-sketch/westernartbook/page/:page',
        name: 'westernartbook-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentView,
        meta: {
            title: '欧美向画集 | 萌绘'
        }
    },
    {
        path: '/category/cg-sketch/sketch',
        name: 'sketch',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '漫画线稿 | 萌绘'
        }
    },
    {
        path: '/category/cg-sketch/sketch/page/:page',
        name: 'sketch-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '漫画线稿 | 萌绘'
        }
    },
    {
        path: '/category/cg-sketch/gamecg',
        name: 'gamecg',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '游戏CG | 萌绘'
        }
    },
    {
        path: '/category/cg-sketch/gamecg/page/:page',
        name: 'gamecg-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '游戏CG | 萌绘'
        }
    },
    {
        path: '/category/cg-sketch/tachie',
        name: 'tachie',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '立绘馆 | 萌绘'
        }
    },
    {
        path: '/category/cg-sketch/tachie/page/:page',
        name: 'tachie-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '立绘馆 | 萌绘'
        }
    },
    {
        path: '/content-article/:id',
        name: 'contentarticle',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentArticle,
        meta: {
            title: '文章 | 萌绘'
        }
    },
    {
        path: '/category/other',
        name: 'other',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '萌绘 | 萌绘'
        }
    },
    {
        path: '/category/other/page/:page',
        name: 'other-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentViewTitle,
        meta: {
            title: '萌绘 | 萌绘'
        }
    },
    {
        path: '/date/:year',
        name: 'year',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentDate,
        meta: {
            title: '时间归档 | 萌绘'
        }
    },
    {
        path: '/date/:year/page/:page',
        name: 'year-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentDate,
        meta: {
            title: '时间归档 | 萌绘'
        }
    },
    {
        path: '/date/:year/:month',
        name: 'month',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentDate,
        meta: {
            title: '时间归档 | 萌绘'
        }
    },
    {
        path: '/date/:year/:month/page/:page',
        name: 'month-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentDate,
        meta: {
            title: '时间归档 | 萌绘'
        }
    },
    {
        path: '/search/:keyword',
        name: 'search',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentSearch,
        meta: {
            title: '搜索 | 萌绘'
        }
    },
    {
        path: '/search/:keyword/page/:page',
        name: 'search-page',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: ContentSearch,
        meta: {
            title: '搜索 | 萌绘'
        }
    },
    {
        path: '/appSearch',
        name: 'appsearch',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: AppSearch,
        meta: {
            title: '搜索 | 萌绘'
        }
    },
    {
        path: '/dynamic-state',
        name: 'dynamicstate',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: DynamicState,
        meta: {
            title: '动态 | 萌绘'
        }
    },
    {
        path: '/presonl',
        name: 'presonl',
        component: PersonalCenter,
        meta: {
            isLogin: true,
            title: '个人中心 | 萌绘'
        }
    },
    {
        path: '/set',
        name: 'set',
        redirect: '/set/general',
        component: AccountSettings,
        children: [
            {
                path: 'general',
                name: 'general',
                component: SetGeneral,
                meta: {
                    isLogin: true,
                    title: '基本资料 | 萌绘'
                }
            },
            {
                path: 'bind',
                name: 'bind',
                component: AccountBind,
                meta: {
                    isLogin: true,
                    title: '邮箱编辑 | 萌绘'
                }
            },
            {
                path: 'messages',
                name: 'messages',
                component: SetMessages,
                meta: {
                    isLogin: true,
                    title: '我的私信 | 萌绘'
                }
            },
            {
                path: 'notifications',
                name: 'notifications',
                component: SetNotifications,
                meta: {
                    isLogin: true,
                    title: '系统通知 | 萌绘'
                }
            },
            {
                path: 'password',
                name: 'password',
                component: SetPassword,
                meta: {
                    isLogin: true,
                    title: '修改密码 | 萌绘'
                }
            }
        ]
    },
    {
        path: '/OtherUser/:id',
        name: 'otherUser',
        component: OtherUser,
        meta: {
            title: '博主 | 萌绘'
        }
    },
    {
        path: '/404',
        name: '404',
        component: Eorror,
        meta: {
            title: '404 | 萌绘'
        }
    },
    {
        path: '*',
        name: '404other',
        component: Eorror,
        meta: {
            title: '404 | 萌绘'
        }
    }
]

export function createRouter() {
    return new VueRouter({
        mode: 'history',
        // mode: 'hash',
        base: process.env.BASE_URL,
        routes,
        scrollBehavior(to, from, savePosition) {
            //vue实现刷新页面，页面回到顶部
            return {
                x: 0,
                y: 0
            }
        }
    })
}